Method and apparatus for noise cancellation in a wireless mobile device using an external headset

ABSTRACT

A method, system, and apparatus for noise cancelation is disclosed, which may be used in a wireless unit (WU). The WU may include a processor, a memory, a user interface, internal microphones and internal speakers. A removably connected headset may include microphones and speakers. The WU may receive a first ambient noise from headset microphone(s), which may generate a first signal based on the first ambient noise. The WU may receive a second ambient noise at internal microphone(s), which may generate a second signal based on the second ambient noise. The WU may calculate an estimate of ambient noise based on the first and second signals, calculate a signal for noise cancellation based on the estimate, cancel estimated ambient noise from an audio output signal based on an application of the signal for noise cancellation, and send the audio output signal to speakers of the headset or of the WU.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/972,379 filed May 7, 2018, which is a continuation of U.S. patentapplication Ser. No. 15/477,623 filed Apr. 3, 2017, which issued as U.S.Pat. No. 9,967,651 on May 8, 2018, which is a continuation of U.S.patent application Ser. No. 14/629,096 filed Feb. 23, 2015, which issuedas U.S. Pat. No. 9,613,611 on Apr. 4, 2017, which claims the benefit ofU.S. Provisional Application No. 61/943,521 filed Feb. 24, 2014, thecontents of which are hereby incorporated by reference herein.

FIELD OF INVENTION

The disclosed embodiments are generally directed to a method andapparatus in the field of wireless mobile devices. More specifically,the disclosed embodiments are directed to reducing or canceling ambientnoise when a wireless mobile device headset is used.

BACKGROUND

When a user is listening to an audio output from a wireless device, suchas a phone conversation, music or an audio component of a multimediacontent, the user may also hear ambient noise. Ambient noise may beproduced by people, equipment, traffic, or even other multimedia devicesnearby, and is undesirable. The goal of noise cancelation is to somehowreduce or remove the ambient noise so that the user hears only thedesired audio output from the wireless device.

Current noise cancelation techniques may include a set of speakers and aset of microphones in each ear cup of a noise canceling headset. Themicrophones are typically positioned in proximity to the outside of theear cups to detect the ambient noise, whereas the speaker may also bepositioned on the inside of the ear cup to subtract the ambient noisefrom the intended audio that is also played into the ear on the insideof the ear cups. To do the processing, headphones may include aprocessor to receive the input from the ambient noise detectingmicrophones on the outside of the ear cup, then calculate the noiseestimate, and then play back the inverted (or negative) version of theambient noise from the speakers on the inside of the ear cup. Theprocessor may also scale the noise estimate because there is inherentisolation from the outside of the ear cups to the inside, which reducesthe level of ambient noise on the inside of the ear cups. Since thisprocess takes some processing power from an electronic computationdevice, the noise canceling headphones may require batteries as well.

SUMMARY

A method, system, and apparatus for noise cancelation is disclosedherein, which may be used in a wireless unit (WU) and a headsetremovably connected to the WU. In an example, the WU may include aprocessor, a memory, a user interface, internal microphones and internalspeakers. The headset may include microphones and speakers, and bepowered by the WU. The WU may receive a first ambient noise from one ormore microphones of the headset, and receive a second ambient noise atone or more internal microphones. The one or more microphones of theheadset may generate a first signal based on the first ambient noise.The one or more internal microphones may generate a second signal basedon the second ambient noise. The WU processor may then calculate anestimate of ambient noise based on the first signal and the secondsignal. The processor of the WU may then calculate a signal for noisecancellation based on the estimate of ambient noise, cancel estimatedambient noise from an audio output signal based on an application of thesignal for noise cancellation, and send the audio output signal to thespeakers of the headset or the internal speakers of the WU.

In a further example, the WU may include a processor, a memory, a userinterface, internal microphones and internal speakers. The headset mayinclude microphones and speakers, and be powered by the WU. The WU mayreceive a first ambient noise from one or more microphones of theheadset. The one or more microphones of the headset may then generate afirst signal based on the first ambient noise and the processor of theWU may calculate an estimate of ambient noise based on the first signal.The processor of the WU may then calculate a signal for noisecancellation based on the estimate of ambient noise, cancel estimatedambient noise from an audio output signal based on an application of thesignal for noise cancellation, and send the audio output signal to thespeakers of the headset or the internal speakers of the WU.

In another example, the WU may receive a second ambient noise at one ormore internal microphones. The one or more internal microphones may thengenerate a second signal based on the second ambient noise. The WUprocessor may then calculate an estimate of ambient noise based on thefirst signal, the second signal and an operating parameter.

Through the use of a standard headset with one or more microphones andone or more speakers, the noise cancelation technique described hereinmay use the processing power of the mobile phone, and may require noother additional hardware. Further, the noise cancelation describedherein can be implemented as a standalone software application, as partof another software application, or as part of the operating system ormiddleware of the WU.

Further, the noise cancelation may include receiving and applying inputfrom a user. The user input may indicate one or more operatingparameters. Further, the user input may indicate one or more phaseshifts. Also, the user input may include selecting one or more of theinternal microphones, or selecting one or more of the headsetmicrophones, or selecting both. In addition, the user input may includeselecting one or more ambient noise components for canceling. Moreover,the noise cancelation may include calculating a Fast Fourier Transform(FFT) of the signal.

Further, the noise cancelation may include receiving and applying inputfrom a user. The user input may indicate one or more scaling factors.Further, the user input may indicate one or more phase shifts. Also, theuser input may include selecting one or more of the internalmicrophones, or selecting one or more of the headset microphones, orselecting both. In addition, the user input may include selecting one ormore ambient noise components for canceling. Moreover, the noisecancelation may include calculating a Fast Fourier Transform (FFT) ofthe signal.

In an additional example, the headset may be powered by the WU via aconnector. In another example, the headset may be without a processor.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system diagram of an example wireless unit (WU) that may useone or more embodiments disclosed herein;

FIG. 2 is a diagram of an example of a basic representation of audiothat a user may hear;

FIG. 3 is a diagram of an example of a representation of noisecancelation;

FIG. 4 is a diagram of another example of a representation of noisecancelation;

FIG. 5 is a system diagram of an example WU and headset that may use oneor more embodiments disclosed herein;

FIG. 6 is a diagram of an example of simple earphones that may use oneor more embodiments disclosed herein;

FIG. 7 is a diagram of an example of noise canceling headphones;

FIG. 8 is a diagram of an example of a noise cancelation application(NCA) in communication with an operating system (OS) and a processor;

FIG. 9 is a diagram of an example of an NCA in communication with WU andheadset microphones and speakers;

FIG. 10 is a diagram of an example user interface on a smartphone; and

FIG. 11 is a diagram of an example waveform canceled by another wave.

DETAILED DESCRIPTION

The method and apparatus disclosed herein may apply to mobile wirelessdevices, including, for example but not limited to, cell phones, featurephones, smart phones, tablet PCs with wireless connectivity, and allfuture devices that generally share similar characteristics. As usedherein, a microphone may refer to a single microphone or one or moremicrophones and the terms may be used interchangeably. As used herein, aspeaker may refer to a single speaker or one or more speakers and theterms may be used interchangeably. As used herein, a wireless unit (WU)may refer to a mobile device that is able to wirelessly transmit orreceive digital or analog data or voice information, a wireless deviceor a mobile wireless device, and the terms may be used interchangeably.

FIG. 1 is a system diagram of an example wireless unit (WU) that may useone or more embodiments disclosed herein. As may be typical for wirelessmobile devices, the WU in FIG. 1 includes a processor 120 that maymanage several peripherals and components. As may also be typical forwireless mobile devices, the WU may include components such as a battery130 as a power supply, memory 160 to execute programs, a subscriberidentity module (SIM) such as a SIM card 150, and user input/outputdevices such as a keypad 170 or a touchscreen 180 or both. The WU mayalso include RF circuitry 140, as shown in FIG. 1 , and an antenna (notshown) to facilitate the wireless connectivity. As one of ordinary skillin the art will understand, the WU may also use more than one processorand, if so, the processors may perform different tasks. Moreover, theremay be additional storage, removable storage components, as well asother peripherals such as one or more cameras, a flash memory, circuitryfor the user of a global positioning system (GPS) applications,BLUETOOTH, infrared, near-field communications (NFC) components, andothers. The figures and description herein may use a simplifiedrepresentation of the WU as the methods described herein may use avariety of WU components. In an example, a WU may not include one ormore of the components that we described above.

The WU may also use one or more internal speakers 190, one or moreinternal microphones 110, and a connector plug (not shown) forelectrical connection to an external headset. Internal speakers 190 andmicrophones 110 may be used for making voice and multimedia calls. Inother words, the user may speak or input other audio input through themicrophones 110 and may hear voice or other audio output from thespeakers 190. The headset, when plugged into the connector, may servethe same purpose. One or more microphones on the headset may be used forinputting audio, and one or more speakers on the headset may be used foroutputting of audio by the mobile device.

FIG. 2 is a diagram of an example of a representation of the audioinformation that a user may hear. In an example, a basic representationof the audio that the user may hear may be:audio=desired audio from the device+ambient noise   Equation (1)

In Equation (1), audio may be what the user actually hears, and ambientnoise may be the undesirable component, as shown in FIG. 2 . This may bethe case, for example when the user is listening to an audio output fromthe wireless device, such as a phone conversation, music, or audiocomponent of a multimedia content. Ambient noise may be produced bypeople, equipment, traffic, or even other multimedia devices nearby, andis typically undesirable. In this scenario, the goal of noisecancelation may be to somehow remove the ambient noise so that the usermay hear:audio=desired audio from the device  Equation (2)

FIG. 3 is a diagram of an example of a representation of noisecancelation. In another example, at a basic level, noise cancelation maywork by estimating the ambient noise and subtracting it from the audiopresented to the user, as shown in FIG. 3 . In other words:audio=desired audio from the device−estimate of ambient noise+ambientnoise  Equation (3)audio=desired audio from the device+residual noise  Equation (4)

In equation (4), the residual noise may be small, ideally zero, if theambient noise is estimated perfectly.

FIG. 4 is a diagram of another example of a representation of noisecancelation. In another scenario, noise cancelation may be used inabsence of any desired audio from the mobile device, as shown in FIG. 4. In other words:audio=ambient noise  Equation (5)

In Equation (5), ambient noise may be corrected by noise cancelation.This may produce:audio=ambient noise−estimate of ambient noise  Equation (6)audio=residual noise  Equation (7)

In Equation (7), the residual noise may ideally be zero, that is,silence.

Additional microphones and speakers as well as the processor and batterymake current noise canceling headphones too heavy, too bulky, and muchtoo expensive. In addition, since these headphones require batteries oftheir own to operate, the user has to either replace the batteries fromtime to time or charge them, which makes them inconvenient. Examplesdisclosed herein describe noise cancelation technology that may be easyto use, cheap, light, and may not require its own battery.

A method, system, and apparatus are disclosed herein for implementingnoise cancelation using the existing components of a wireless mobiledevice, and a headset with a speaker and microphone. The techniquedescribed may make use of the processor and power source within themobile device and hence may not require its own battery. Examplesdisclosed herein make use of the internal speaker and microphoneincluded in the wireless mobile device, and the speaker and microphoneof a headset that may be plugged into the mobile device.

FIG. 5 is a system diagram of an example WU and headset that may use oneor more embodiments disclosed herein. The microphone 510 on the WU andthe microphone 515 on the headset may be used selectively to detect theambient noise.

The ambient noise is selectively detected by the microphone 510 on theheadset, the microphone 515 on the WU, or both, and may then beprocessed by the processor 520 in the WU to create the noise estimate.The headset microphone 510, WU microphone 515, or both, may generate asignal based on the ambient noise and send the signal to the processorto create the noise estimate. The processor 520 may then subtract theestimated ambient noise from the audio that may be delivered to the WUinternal speaker(s) 590, the headset speakers 595, or both, therebycanceling the effect of the ambient noise. The WU may also includecomponents such as a battery 530 as a power supply, memory 560 toexecute programs, a SIM card 550, and user input/output devices such asa keypad 570 or a touchscreen 580 or both. The WU may also include RFcircuitry 540 and an antenna (not shown) to facilitate the wirelessconnectivity. The headset may be removably connected to the wirelessmobile device with a headset connector plug 525. The WU may providepower to the headset. As a result, the headset may not include a batteryor other power source. In a further example, the headset may also notinclude a processor.

In a further example, the headset may include speakers(s) but not amicrophone, and only the microphone of the mobile device detects theambient noise. The mobile device microphone may then generate a signalbased on the ambient noise and send the signal to the processor tocreate the noise estimate. The processor may then subtract the estimatedambient noise from the audio that may be delivered or sent to the WUinternal speaker(s) 590, the headset speakers 595, or both, therebycanceling the effect of the ambient noise.

Software code, such as middleware, application software or as part ofthe operating system that runs on the processor 520 may perform thenoise cancelation as described above. For simplicity, this software willbe referred to herein as the noise cancelation application (NCA). One ofordinary skill in the art will understand that the software may beembedded code, middleware, an application, part of the operating system,and the like. A variety of classifications of the software may be usedwith the examples described herein.

Besides controlling the processor to do the main elements of the noisecancelation, NCA may also include a user interface where the user mayprovide input and also see performance and diagnostic data from thenoise cancelation process. One of the inputs from the user may be ascale factor which determines how the noise estimate is scaled beforesubtraction. Another input may be to select whether the headsetspeakers, mobile device speakers, or both are used in detecting theambient noise.

The examples disclosed herein may require no additional hardware beyondthe wireless mobile device itself and a headset with speaker(s) only, orwith speakers and one or more microphones. Such headsets are widelyavailable and cost very little, especially compared to the current noisecanceling headphones on the market today. For comparison purposes, asimple headset that can be used to implement the examples disclosedherein may cost as little as $10-$20, whereas the noise cancelingheadphones from brands such as SONY, BOSE, and others may cost $250-$350at current prices.

FIG. 6 is a diagram of an example of simple earphones that may use oneor more embodiments disclosed herein. In an example, the earphones orheadset may include a connector or plug 625 to connect with the WU, amicrophone 615 and earpieces or speakers 695. The earphones or headsetmay removably connect to the WU with the connector or plug 625.

In a further example, the earphones or headset may include a plug toconnect with the WU, earpieces or speakers, but no microphone. In yet afurther example, the earphones or headset may include a plug to connectwith the WU and a microphone but no earpieces or speakers.

FIG. 7 is a diagram of an example of noise canceling headphones. Thenoise canceling headphones may be used as standalone noise cancelingheadphones.

FIG. 8 is a diagram of an example of an NCA 850 in communication with anoperating system (OS) 830 and a processor 820. Wireless mobile devicessuch as a smartphone from APPLE (IPHONE) or a smartphone running on theANDROID platform from SAMSUNG (GALAXY) make Application ProgrammingInterfaces (APIs) available to developers. As shown in FIG. 8 , the API840 may describe the way one software application, such as the NCA 850,may communicate with another software application, such as the OS 830,and the processor 820 on which the OS 830 runs. The NCA 850 may use thestandard APIs as API 840 to interface with the processor 820, andinteract with the internal microphone 810, headset microphone 895,internal speaker 890 and headset speaker 815 as described.

FIG. 9 is a diagram of an example of an NCA in communication with the WUand headset microphones and speakers. The NCA may have an indirectconnection to the WU and headset components through the API, OS, and theprocessor, as shown by dotted lines in FIG. 8 . The NCA may have anindirect connection to the internal mobile device microphone 910 andheadset microphone 915. Both the microphone on the mobile device 910 andthe microphone on the headset 915 may be receivers for receiving theambient noise 930. The audio that may be detected by these microphones910, 915 may be received by the NCA for further processing. Further, theNCA may have an indirect connection to the internal mobile devicespeaker 990 and headset speaker 995.

When the user is listening to audio portion of a multimedia content oris on a phone call, there may be a desired audio component. The ambientnoise 930 may be subtracted from this audio component. In other words,the inverse of the ambient noise waveform may be added (or applied) tothe audio component that is sent to the headset speaker 995. This can bewritten as:s(t)=a(t)+n(t)  Equation (8)

In Equation (8), s(t) is the audio output signal 980 that the user hearswhen the user is wearing the headset and there is ambient noise.Further, a(t) is the desired audio signal such as the voice or mediacontent coming from the headset earpiece of speaker 995, and n(t) is theambient noise that the user hears. When the ambient noise is detectedand an estimate of it is obtained, then the inverse of this noiseestimate may be added (or applied) to the audio signal from the mobiledevice as follows:s(t)=(a(t)−{circumflex over (n)}(t))+n(t)  Equation (9)s(t)=a(t)+ε(t)  Equation (10)

In Equation (9) {circumflex over (n)}(t) is the noise estimate. InEquation (10), ε(t) is the small residual noise after cancelation. Whenthere is no desired audio component as above, then the user may bewearing the headset only for its noise canceling use. In that case, theinverse of the ambient noise waveform may be sent to the headset speaker995. This canceling waveform may cancel the ambient noise that the useris hears. The cancelation can be shown as follows:s(t)=(−{circumflex over (n)}(t))+n(t)  Equation (11)s(t)=ε(t)  Equation (12)

In an example, two adjustments or calibrations may be used. These mayimprove performance of the noise canceler and can be used alone or incombination. Headsets, whether noise canceling or not, may have somelevel of noise isolation because they simply cover the ear opening andreduce the amount of sound waves penetrating. As a result, the ambientnoise that goes through the earpiece of the headset and reaches the earcanal may be attenuated as compared to the ambient noise that isreceived by the mobile device microphone or the headset microphone. As afirst example calibration, a calibration may be used to assure that thecorrect amount of noise is canceled. If this calibration is desired, theNCA may present the user with a calibration scale on the mobile devicescreen. The user may then change the calibration, in other words thenoise scaling, and find the optimum level by listening to the headset atthe same time. The calibration interface may be presented to the user asa slider, a dial, or any other virtual switch on the user interface. Theuser may set the desired setting on the touchscreen or may use any otherbutton, such as the volume control switches to input the calibrationlevel when the NCA prompts the user to do so. In an example, thecalibration may be described mathematically as follows:{circumflex over (n)}(t)=αn _(headset)(t)+βn _(device)(t)  Equation (13)

In Equation 13, n_(headset)(t) and n_(device)(t) are the ambient noisethat the headset microphone and mobile device microphone are detecting,respectively. As in equations above, {circumflex over (n)}(t) is theestimate of the ambient noise that the user is hearing. Further, thenoise detected by the headset microphone and the noise detected by themobile device microphone may be scaled by α and β respectively. Inexample, these two scaling factors may be completely different, and setby the user separately, or they may be the same. Alternatively, they maybe related to each other by another factor; one scaling factor may besome multiple of the other scaling factor. Further, either or both ofthe scaling factors may be set to zero.

A second calibration may be utilized to correct any small time shifts.Although the headset microphone or the mobile device microphone, orboth, may be used to detect the ambient noise level, this may often notbe exactly the same waveform that reaches the ear. This is because theremay be a physical separation between the microphones and the ear, whichmay translate into a very small time shift (a phase shift) between theambient noise the user hears and the ambient noise the microphonesdetects. Additionally, the processing in the processor is notinstantaneous and may account for some time delay as well. If this phaseshift is small, it may be imperceptible and may not affect noisecancelation performance. However if the phase shift is large, it maynegatively affect the noise cancelation and may even make it worse thanhaving no noise cancelation. This can be shown mathematically asfollows:{circumflex over (n)}(t)=αn _(headset)(t−τ _(headset))+βn _(device)(t−τ_(device))  Equation (14)

In Equation (14), the noise detected by the headset microphone and thenoise detected by the device microphone are shifted (or delayed) byτ_(headset) and τdevice respectively, in addition to being scaled. Notethat the two time shift values may be the same or different, or may berelated to each other by an offset. Also note that either or both of thetime shift values may be set to zero.

There are two example methods to correct the phase shift (time shift) ifit is significant. One example method is to take the Fast FourierTransform (FFT) of the ambient noise from the mobile device microphoneand from the headset microphone, and calculate the shift amount thatcorresponds to the maximum correlation. The shift amount may be the timedifference between the headset and mobile device microphones. If onlyone microphone, such as only the headset microphone, is used indetecting the ambient noise, then there may be no need for this step.

The second example method of correcting the time difference between themobile device and headset microphones, and between the microphones andwhat the user hears through the headset speaker is to do thisinteractively. In this manner, the NCA may present the user withsliders, dials, or other visual ways to input these on the devicescreen. The user may find the optimum setting by changing the correctionon the screen while listening to the headset.

FIG. 10 is a diagram of an example user interface on a smartphone. In anexample shown in FIG. 10 , the user may select the calibration levelsand adjust the parameters for best noise cancelation performance.

FIG. 11 is a diagram of an example waveform canceled by another wave. Anexample cancelation process is shown in FIG. 11 , which shows how a waveis canceled by another wave that is negative of it—in other words, aninverse of the original wave. For illustration purposes, the example inFIG. 11 shows only a sinusoidal wave, which corresponds to a singletone. Actual voice or other audio waveforms are typically more complex,and can be thought of as a combination of many sinusoidal waves. As FIG.11 illustrates, the cancelation quality may depend on how well theoriginal waveform 1110, 1160, in the example, the ambient noise, isestimated. If the estimate is close to the ambient noise being estimated1120, there may be very little residual noise after the cancelation1130. However if the estimate is poor 1170, the cancelation process mayinstead create additional noise 1180. Audio cancelation as describedabove may be the basis for many noise cancelation techniques. Further,in examples disclosed herein, the noise cancelation may use only themobile device itself and a simple earphone type headset to perform thecancelation.

Various applications and use cases may use the technology disclosedherein. Below are some, but not necessarily all, example applicationsand use cases. The example applications and use cases are some, but notnecessarily all, of the ways the technology disclosed herein may beused. As a result, these examples are not intended to be exhaustive.There are many other applications of the same principles and the sametechnology.

The first example use case may occur when a user wants to use theheadset only for noise cancelation purposes and not listening to anyother audio. In this case the user may wear the headset, plug theheadset into the mobile device, start the NCA on the mobile device, andif necessary, adjust the scaling factor 1030 and time shift or phaseshift 1020 using the controls presented by the NCA on the mobile devicescreen. The user may decide to use the headset microphone 1015, themobile device microphone 1010 or both microphones 1005 for noisecancelation. When the user has completed the selections, the user mayhit the “Apply” button 1050 and the NCA will apply the user's settingsfor noise cancelation. The effect is that the ambient noise the userhears will be canceled out and the user will experience much reducednoise or silence through the headset earpieces.

The second example use case is similar to the first example use caseexcept that the user may be listening to an audio content, such as voiceduring a phone call or music from a media file, while still employingnoise cancelation of the NCA. In this case the effect may be to reduceor eliminate the ambient noise and delivery of the clear audio contentto the user through the headset. In this example use case, the user maystart the NCA and make scaling 1030 and time shift 1020 adjustments ifnecessary, as in the first example use case.

In a third example use case, the NCA is not a standalone application butmay be integrated into another media application that runs on the mobiledevice. Such media applications include those that may download orstream music from a content delivery network (CDN), such as PANDORA,SPOTIFY, AMAZON MP3 player, APPLE ITUNES, or similar. These mediaapplication may give the user access to the media content from a CDNeither wirelessly—streaming real time—or from the storage on the mobiledevice itself. The NCA may be integrated into one of these mediaapplications such that the features and user interface of the NCA may beincluded in the features and user interface of the media application.For example, the user can start a streaming music application such asPANDORA, and this application may present the user the option to startnoise cancelation, option to adjust scaling 1030, and option to adjusttime shift 1020. In an example, this may be considered as the“white-box” version of the NCA.

In a fourth example use case, the NCA may be included in the operatingsystem (OS) or other resident middleware software on the mobile deviceitself. In this case, the features and controls of the NCA may beabsorbed into the features and user interface of the OS or middleware,and may be accessible through the screens and menus of the OS ormiddleware. In effect, the NCA functionality may be resident on themobile device and may work in conjunction with any media application,such as those mentioned in the third example use case, or by itself.

In the four example use cases described above, and in others that arenot mentioned, the basic principle of estimating ambient noise throughthe headset microphone and/or through the mobile device microphone maybe the same. The noise is received and estimated, a scaling factor maybe applied, a time shift may be applied, and the resulting waveform maybe inverted and added to the audio output signal sent to the userheadset speakers.

There are alternative example implementations of the technologydescribed above also. According to one such example variation, the noisecancelation application NCA may detect and selectively cancel individualfrequency components or frequency bands. This may be the better optionwhen there is an ambient noise source that is generating noise at aparticular frequency or a frequency band. It may be easier to detectthat frequency component, invert it, and cancel it from the audiodelivered to the user.

When working in this example alternative implementation, the NCA maycalculate the FFT of the detected ambient noise and select a number offrequency components as candidates for cancelation. Then the scaling andtime shift may be performed with or without user input as before, andthe inverse of those noise components may be added to the audiocomponent sent to the user's headset—thereby canceling the offendingnoise components that the user is hearing from the ambience.

Another alternative implementation may include calculating the frequencycomposition of the ambient noise, for example by using an FFT, andcalculating the frequency composition of any desirably audio signal, forexample by using an FFT, and deciding which frequency components of theambient noise are likely to interfere with the desirable audio signal,and subtracting those frequency components from the audio sent to themicrophones. A feature of this example may include presenting to theuser a representation of the frequency components of the ambient noise,for example in the form of a bar chart on the touchscreen, and receivinginput from the user indicating which frequency components to subtract.Alternatively the frequency components that are likely to interfere withthe desired audio signal may be automatically subtracted withoutrequiring user input. In the case that there is no desirable audio andthe user is using the headset only to cancel out the ambient noise sothe user can achieve silence, then all of the frequency components ofthe ambient noise may be undesirable. In this case a signal to subtractall of frequency components of the ambient noise may be generated andused to cancel the effect of the ambient noise. In another example, thehighest, in other words most interfering, frequency components of theambient noise may be selected and noise cancellation may be applied onlyto those components as well. In an example where the user is presentedwith a representation of the frequency components of the ambient noise,the user may be able to select in the user interface the components tobe subtracted, and further select the scaling factor and phase shift tobe applied.

In an example, the user interface for receiving user input for thescaling factor and for the phase shift do not need to label these inputsas scaling factor or phase shift, but rather they may be labeled in away that may make it easier for the user to understand and use the userinterface.

In a further example, the headset may connect to the WU wirelessly,instead of using or in addition to the connector plug. The headset mayconnect to the WU wirelessly using, for example, the BLUETOOTH standard.

Other alternative implementations are possible without being outside theprinciples and methods described herein. The implementations andvariations of those described herein are not meant to be limiting of thescope of the technology to those implementations, but they are simplyexamples to show the general working principles. One of ordinary skillin the art will understand that the variations and different use casesdescribed here can be used in combination.

Although features and elements are described above in particularcombinations, one of ordinary skill in the art will appreciate that eachfeature or element may be used alone or in any combination with theother features and elements. In addition, the methods described hereinmay be implemented in a computer program, software, or firmwareincorporated in a computer-readable medium for execution by a computeror processor. Examples of computer-readable media include electronicsignals (transmitted over wired or wireless connections) andcomputer-readable storage media. Examples of computer-readable storagemedia include, but are not limited to, a read only memory (ROM), arandom access memory (RAM), a register, cache memory, semiconductormemory devices, magnetic media such as internal hard disks and removabledisks, magneto-optical media, and optical media such as compact disk(CD)-ROM disks, and digital versatile disks (DVDs). A processor inassociation with software may be used to implement a radio frequencytransceiver for use in a WU, user equipment (UE), terminal, basestation, a radio network controller (RNC), or any host computer.

What is claimed is:
 1. A method of performing noise cancellation in asystem, wherein the system includes a wireless unit (WU), wherein the WUincludes a processor, a memory, a user interface, a connector, one ormore internal microphones, and one or more internal speakers, and aheadset removably connected to the WU and powered by the WU via theconnector, the method comprising: receiving, at one or more microphonesof the headset, a first ambient noise, wherein the headset is without aprocessor and includes one or more speakers; receiving, at the one ormore internal microphones, a second ambient noise; generating, by theone or more microphones of the headset, a first signal based on thefirst ambient noise; generating, by the one or more internalmicrophones, a second signal based on the second ambient noise;receiving, by the WU via the connector, the first signal; calculating,by the processor of the WU, an estimate of ambient noise based on thefirst signal and the second signal; further calculating, by theprocessor of the WU, a signal for noise cancellation based on theestimate of ambient noise, wherein the processor of the WU determinesone or more phase shifts, and wherein the calculating the signal fornoise cancellation is further based on the one or more phase shifts;canceling, by the processor of the WU, estimated ambient noise from anaudio output signal based on an application of the signal for noisecancellation; and sending, by the processor of the WU, the audio outputsignal to the one or more speakers of the headset or the one or moreinternal speakers of the WU.
 2. The method of claim 1, wherein thecanceling of the estimated ambient noise is performed by a noisecancelling application (NCA) executed in the memory and the processor ofthe WU.
 3. The method of claim 2, wherein the NCA is a softwareapplication, a middleware, a part of another media software application,or a part of an operating system of the WU.
 4. The method of claim 1,wherein the processor of the WU selects one or more ambient noisecomponents for canceling.
 5. The method of claim 1, wherein thecanceling of the estimated ambient noise includes calculating a FastFourier Transform (FFT) of the first signal.
 6. A system for use inperforming noise cancellation, the system comprising: a headset withouta processor comprising: one or more microphones configured to receive afirst ambient noise and to generate a first signal based on the firstambient noise; and one or more speakers; wherein the headset is poweredby a wireless unit (WU) via a connector of the WU removably connected tothe headset; and the WU comprising: a user interface; a memory; aprocessor operatively coupled to one or more internal microphones, tothe memory and to the user interface, the processor configured toreceive the first signal; the connector operatively coupled to theprocessor; one or more internal speakers of the WU configured to receivea second ambient noise and to generate a second signal based on thesecond ambient noise; and the processor configured to calculate anestimate of ambient noise based on the first signal and the secondsignal, calculate a signal for noise cancellation based on the estimateof ambient noise, determine one or more phase shifts, cancel estimatedambient noise from an audio output signal based on an application of thesignal for noise cancellation, and send the audio output signal to theone or more speakers of the headset or the one or more internal speakersof the WU, wherein the calculating of the signal for noise cancellationis further based on the one or more phase shifts.
 7. The system of claim6, wherein a noise cancellation application (NCA) in the WU performs thecanceling of the estimated ambient noise and is executed in the memoryand the processor of the WU.
 8. The system of claim 7, wherein the NCAin the WU is a software application, a middleware, a part of anothermedia software application, or a part of an operating system of the WU.9. The system of claim 6, wherein the processor is further configured toselect one or more ambient noise components for canceling.
 10. Thesystem of claim 6, wherein the canceling of the estimated ambient noiseincludes calculating a Fast Fourier Transform (FFT) of the first signal.